package criterioBusqueda;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import model.Publicacion.Pregunta;
import model.criterio.criteriosYbusqueda.Criterio;
import model.criterio.criteriosYbusqueda.CriterioDeFavorito;
import model.criterio.criteriosYbusqueda.Negacion;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

public class TestNegacion {
	Criterio c;
	Negacion n;
	Pregunta p;

	@Before
	public void setUp() throws Exception {
		c=mock(CriterioDeFavorito.class);
		n=new Negacion(c);
		p=mock(Pregunta.class);
		
	}

	@Test
	public void testSeCumple() {
		when(c.seCumple(p)).thenReturn(true);
		Assert.assertEquals(false, n.seCumple(p));
		when(c.seCumple(p)).thenReturn(false);
		Assert.assertEquals(true, n.seCumple(p));
		verify(c,times(2)).seCumple(p);
	}

}
